package com.quarkus.resource;

import com.quarkus.entity.User;
import com.quarkus.service.UserService;
import io.smallrye.mutiny.Uni;

import javax.inject.Inject;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import java.util.List;

/**
 * @Author: TongRui乀
 * @Date: 2021/5/22 14:03
 * @description：
 */
@Path("user")
public class UserResource {

    @Inject
    UserService userSer;

    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public Uni<List<User>> getList(){
        return userSer.getList();
    }

    @GET
    @Path("{id}")
    @Produces(MediaType.APPLICATION_JSON)
    public Uni<User> getById(@PathParam("id") Long id){
        return userSer.getById(id);
    }

    @POST
    @Consumes(MediaType.APPLICATION_JSON)
    public Uni<Integer> save(User user){
        return userSer.save(user);
    }

    @PUT
    @Consumes(MediaType.APPLICATION_JSON)
    public Uni<Integer> update(User user){
        return userSer.update(user);
    }

}
